package cn.tedu.epidemic.service;

import cn.tedu.community.commons.pojo.user.dto.*;
import cn.tedu.community.commons.pojo.user.vo.UserCurrentVO;
import cn.tedu.community.commons.pojo.user.vo.UserListVO;
import cn.tedu.community.commons.restful.JsonPage;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 用户Service
 */
@Transactional
public interface UserService {
    //注册
    void reg(UserRegDTO regDTO);

    //登录
    String login(UserLoginDTO loginDTO);

    /**
     * 获取当前用户信息
     */
    UserCurrentVO currentUser();

    void updatePassById(UserUpdatePassDTO updatePassDTO);

    /**
     * 修改当前用户信息
     */
    void update(UserUpdateDTO userUpdateDTO);

    void countByPhone(String userPhone);

    void updatePassByPhone(UserForGotPassDTO forGotPassDTO);

    JsonPage<UserListVO> isReturnPeopleList(Integer page, Integer pageSize);

    JsonPage<UserListVO> NotReturnPeopleList(Integer page, Integer pageSize);

    JsonPage<UserListVO> ListByUsernameOrName(Integer page, Integer pageSize,
                                              String usernameOrName);
}
